Clipboard systems are a common part of many modern operating systems or computer systems. Typically a clipboard system enables applications or other entities to “copy” or “cut” data to a computer-implemented “clipboard,” and enables the same or other applications or entities to “paste” data from the clipboard. The clipboard is available to or shared between applications and entities and enables the transfer of information or data between such applications and entities.
At least some clipboard systems enable the transfer of multiple pieces of data as well as the transfer of data in multiple formats. For example, in some clipboard systems an application may have the ability to add a single logical piece of data or information to the clipboard in multiple different formats. For example, an application might place a text representation of a piece of data as well as an image representation of the same piece of data on the clipboard. A destination application to which such a piece of data may be pasted might then be able to access the format of the data that is most useful to the destination application.
In order to participate in information sharing or transfer using a clipboard, any executable code or application must generally have the ability to interact with the clipboard system. Such interaction may be accomplished through the use of application programming interfaces (APIs) or a variety of other mechanisms. While some applications or entities may have the ability to access the full capabilities of a clipboard system—including perhaps the ability to request alternative data formats for a particular piece of data on the clipboard, in some cases at least some applications may only have access to a limited subset of a clipboard system's functionality. As just one example, a page displayed by a web browser typically only has access to data on a clipboard that is formatted as text. That is, even if the clipboard includes, say, an image or one or more other representations of a piece of data, and even if the page may have the capability of using these other representations of the data, the page may not be able to access the other data formats.